package Git2024_5_13;

public class SSM {
    //Spring Framework + Spring MVC + MyBatis的组合
    //Spring MVC是Spring Framework的子模块 主要用于网络应用程序的开发
    //MyBatis是开源的 Spring框架外部的 数据持久层框架 通过配置文件或注解来定义SQL映射

    //Spring Boot Spring中的独立框架 与Spring Framework同级
        //几乎是零配置的开箱即用 或者只需要写少量的配置信息即可使用
    /**
     * Spring Boot
     * 起步依赖
     *  大部分可以自动引入 只需要创建该文件时勾选即可
     *
     */
    /**
     * ORM
     * <对象关系映射> 用于将对象模型与关系型数据库之间进行映射
     *  以简化数据持久化配置 提高开发效率
     * 映射关系
     *  一个类-一张表
     *  一个类属性-一个字段(数量,类型一一对应)(小驼峰--下划线"_")
     *  一个对象-一条数据
     */


    //2024年5月13日
    /**
     * 增删改
     * 利用注释改数据时 参数为实体类 且不想改的内容也需要将原数据传入
     */
    /**
     * POJO 简单的java类(都是在java端 服务器端创建)
     *  通常只包含一些属性 不包含任何的业务逻辑方法 也不继承任何的类
     * 分类
     *  1.实体类 entity
     *      和数据表做一一映射关系
     *  2.DTO类
     *      客户端传递给服务端的数据 服务端使用DTO类接收
     *  3.VO类(执行select查询语句)
     *      服务端返回客户端的数据 服务端使用VO类返回
     */
    //出现问题
    //当数据增删改查具体要求要进行动态修改时 使用标签无法完全满足要求
    //SQL语句的重用度低 效率低 代码与SQL语句耦合度高 不方便后期维护
    //引入xml文件

    //xml文件
    /**
     * 可扩展性语言 用户可自定义标签 用来描述特定
     */
    /**
     * 1.创建外部xml文件 单独保存在指定文件夹中 指定名称空间 绑定Mapper接口
     * 2.编写SQL语句(用对应标签包住SQL语句)
     * 3.在Application.properties中配置xml文件映射的位置
     *   mybatis.mapper-locations=classpath:包名/*.xml
     *      其中/*表示该路径下所有.xml文件
     *   框架在调用接口方法时 会根据.xml文件中的namespace中的提示找到对应的.xml文件
     *   紧接着 框架根据id=Xxx找到对应id属性值对应的标签及其中内容 并进行其他操作
     * 4.SQL语句转为JDBC操作数据库
     */
    //ctrl + alt l: 格式化/标准化代码
















}
